package xkp.xkp.lesson3;

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

public class TestVector {
    public static void main(String[] args) {
        Vector<String> vector = new Vector<>();
        vector.add("123");
        vector.remove("123");
        vector.size();
        //Vector底层与ArrayList一致，用法也相同，
        //但是ArayList是非线程安全
        //Vector是线程安全
        //线程安全的关键点在于对应的方法上有synchronized
        //该关键字可以简单认为是线程安全的标志
        //Stack<String> stack = new Stack<>();
        //目前的java版本中Vector和Stack用的比较少(性能偏低),因为做同步处理

        //ArrayList与Vector用法一致，线程安全问题
        //HashMap与HashTable 用法一致，线程安全问题

        //可以把一个HashMap转换为Collection对象
        //把hashmap中的value转换为一个集合
        HashMap<String,Object> hashMap = new HashMap<>();
        hashMap.put("obj1",new Object());
        hashMap.put("obj2",new Object());
        hashMap.put("obj3",new Object());
        Collection<Object> collection = hashMap.values();


    }
}
